package com.ruoyi.mdm.utils;

import com.ruoyi.common.utils.StringUtils;

import java.text.ParseException;
import java.util.HashMap;
import java.util.Map;

public class StringTemplateUtils {

    public static final String DEF_REGEX = "\\{(.+?)\\}";

    public static String render(String template, Map<String, Object> data) {
        return render(template, data, DEF_REGEX);
    }

    public static String render(String template, Map<String, Object> data, String regex) {
        if (StringUtils.isBlank(template)) {
            return "";
        }
        if (StringUtils.isBlank(regex)) {
            return template;
        }
        if (data == null || data.size() == 0) {
            return template;
        }
        try {
            String result = template;
            for (String i : data.keySet()) {
                String value = data.get(i).toString();
                result = result.replace("{" + i + "}", value == null ? "" : value);
            }
            return result;
        } catch (Exception e) {
            e.printStackTrace();
            return template;
        }
    }

//    public static void main(String args[]) throws ParseException {
//        String template = "您提现{borrowAmount}元至尾号{tailNo}的请求失败，您可以重新提交提款申请。";
//        Map<String, Object> data = new HashMap<String, Object>();
//        data.put("borrowAmount", "1000.00");
//        data.put("tailNo", "1234");
//        System.out.println(render(template, data));
//    }
}